Using pkgFile As Package = Package.Open(ZipFullFilename, FileMode.Open, FileAccess.Read)
    For Each pkgPart As PackagePart In pkgFile.GetParts()
      Dim filename As String = Path.Combine(FolderPath, 
	      pkgPart.Uri.OriginalString.Replace("/", "\").Substring(1))
      Dim dirName As String = IO.Path.GetDirectoryName(filename)
      If Not IO.Directory.Exists(dirName) Then IO.Directory.CreateDirectory(dirName)
      Using stmSource As Stream = pkgPart.GetStream(FileMode.Open, FileAccess.Read)
        Using stmDestination As Stream = File.OpenWrite(filename)
          Dim arrBuffer(10000) As Byte
          Dim intRead As Integer
          intRead = stmSource.Read(arrBuffer, 0, arrBuffer.Length)
          While intRead > 0
            stmDestination.Write(arrBuffer, 0, intRead)
            intRead = stmSource.Read(arrBuffer, 0, arrBuffer.Length)
          End While
        End Using
      End Using
    Next
  End Using
